package com.ruoyi.hospital.domain.order;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import com.ruoyi.common.core.domain.NewBaseEntity;
import com.ruoyi.hospital.domain.member.MemberAddress;
import com.ruoyi.hospital.domain.shop.PharmacyDrugSku;
import com.ruoyi.hospital.domain.vo.StoreGroup;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 商品订单对象 shop_orders
 *
 * @author wendao
 * @date 2024-08-19
 */
public class ShopOrders extends NewBaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Integer id;

    /** 编号 */
    @Excel(name = "编号")
    private String orderNumber;


    /** 患者信息 */
    @Excel(name = "患者信息")
    private String memberName;
    private Integer memberId;
    @Excel(name = "患者电话")
    private String phone;

    /** 所属药店 */
    @Excel(name = "所属药店")
    private String storeName;
    private Integer storeId;

    /** 订单金额 */
    @Excel(name = "订单金额")
    private BigDecimal orderAmount;  //总的

    private BigDecimal drugAmount;   //药品的总价格

    private Integer payTime;   //支付时间

    /** 订单金数量*/
    /** 配送方式 */
    @Excel(name = "配送方式",dictType = "delivery_method")
    private Integer deliveryMethod;
    /**配送状态*/
    private Integer deliveryState;

    /**快递单号*/
    private String transportNo;


    private BigDecimal freight;//运费

    /** 订单状态 */
    @Excel(name = "订单状态",dictType = "order_state")
    private Integer orderState;

    /** 删除时间 */
    private Integer deleteTime;


    private Integer addressId;//邮寄地址
    private MemberAddress memberAddress;

    private Integer payWay; //支付方式

    private Integer pid;  //处方id
    private Integer docId;

    private List<ShopOrdersProduct> shopOrdersProductList;  //订单中商品的详细信息

    private List<PharmacyDrugSku> pharmacyDrugSku;  //sku信息

    private List<StoreGroup> collect; //根据药店分类药品

    public List<PharmacyDrugSku> getPharmacyDrugSku() {
        return pharmacyDrugSku;
    }

    public Integer getDocId() {
        return docId;
    }

    public void setDocId(Integer docId) {
        this.docId = docId;
    }

    public BigDecimal getDrugAmount() {
        return drugAmount;
    }

    public void setDrugAmount(BigDecimal drugAmount) {
        this.drugAmount = drugAmount;
    }

    public void setPharmacyDrugSku(List<PharmacyDrugSku> pharmacyDrugSku) {
        this.pharmacyDrugSku = pharmacyDrugSku;
    }


    public List<StoreGroup> getCollect() {
        return collect;
    }

    public void setCollect(List<StoreGroup> collect) {
        this.collect = collect;
    }

    public Integer getPayTime() {
        return payTime;
    }

    public void setPayTime(Integer payTime) {
        this.payTime = payTime;
    }

    public BigDecimal getFreight() {
        return freight;
    }

    public void setFreight(BigDecimal freight) {
        this.freight = freight;
    }

    /*    public BigDecimal getOrderNum() {
        return orderNum;
    }

    public void setOrderNum(BigDecimal orderNum) {
        this.orderNum = orderNum;
    }

    public Integer getDrugType() {
        return drugType;
    }

    public void setDrugType(Integer drugType) {
        this.drugType = drugType;
    }*/

    public Integer getPid() {
        return pid;
    }

    public void setPid(Integer pid) {
        this.pid = pid;
    }

    public Integer getPayWay() {
        return payWay;
    }

    public void setPayWay(Integer payWay) {
        this.payWay = payWay;
    }

    public MemberAddress getMemberAddress() {
        return memberAddress;
    }

    public void setMemberAddress(MemberAddress memberAddress) {
        this.memberAddress = memberAddress;
    }

    public List<ShopOrdersProduct> getShopOrdersProductList() {
        return shopOrdersProductList;
    }

    public void setShopOrdersProductList(List<ShopOrdersProduct> shopOrdersProductList) {
        this.shopOrdersProductList = shopOrdersProductList;
    }

    public Integer getDeliveryState() {
        return deliveryState;
    }

    public void setDeliveryState(Integer deliveryState) {
        this.deliveryState = deliveryState;
    }

    public String getTransportNo() {
        return transportNo;
    }

    public void setTransportNo(String transportNo) {
        this.transportNo = transportNo;
    }

/*    public String getDrugName() {
        return drugName;
    }

    public void setDrugName(String drugName) {
        this.drugName = drugName;
    }*/

    public Integer getAddressId() {
        return addressId;
    }

    public void setAddressId(Integer addressId) {
        this.addressId = addressId;
    }

    public String getMemberName() {
        return memberName;
    }

    public void setMemberName(String memberName) {
        this.memberName = memberName;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getStoreName() {
        return storeName;
    }

    public void setStoreName(String storeName) {
        this.storeName = storeName;
    }

    public void setId(Integer id)
    {
        this.id = id;
    }

    public Integer getId()
    {
        return id;
    }
    public void setOrderNumber(String orderNumber)
    {
        this.orderNumber = orderNumber;
    }

    public String getOrderNumber()
    {
        return orderNumber;
    }
/*    public void setProductId(Integer productId)
    {
        this.productId = productId;
    }

    public Integer getProductId()
    {
        return productId;
    }*/

    public void setMemberId(Integer memberId)
    {
        this.memberId = memberId;
    }

    public Integer getMemberId()
    {
        return memberId;
    }
    public void setStoreId(Integer storeId)
    {
        this.storeId = storeId;
    }

    public Integer getStoreId()
    {
        return storeId;
    }
    public void setOrderAmount(BigDecimal orderAmount)
    {
        this.orderAmount = orderAmount;
    }

    public BigDecimal getOrderAmount()
    {
        return orderAmount;
    }
    public void setDeliveryMethod(Integer deliveryMethod)
    {
        this.deliveryMethod = deliveryMethod;
    }

    public Integer getDeliveryMethod()
    {
        return deliveryMethod;
    }
    public void setOrderState(Integer orderState)
    {
        this.orderState = orderState;
    }

    public Integer getOrderState()
    {
        return orderState;
    }
    public void setDeleteTime(Integer deleteTime)
    {
        this.deleteTime = deleteTime;
    }

    public Integer getDeleteTime()
    {
        return deleteTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("orderNumber", getOrderNumber())
           // .append("productId", getProductId())
            .append("memberId", getMemberId())
            .append("storeId", getStoreId())
            .append("orderAmount", getOrderAmount())
            .append("deliveryMethod", getDeliveryMethod())
            .append("orderState", getOrderState())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("deleteTime", getDeleteTime())
            .toString();
    }
}
